package com.itheima.health.dao;

import com.github.pagehelper.Page;
import com.itheima.health.pojo.Menu;

import java.util.List;

/**
 * @author zhangxiaosheng
 * @date 2020/9/4 - 10:27
 */
public interface MenuDao {
    /**
     * 查询父菜单信息
     * @return
     */
    List<Menu> findParentMenu();

    /**
     * 查询最后一条父菜单
     * @return
     */
    Menu findLastParentMenu();

    /**
     * 查询该父菜单下的最后一条子菜单
     * @param parentMenuId
     */
    Menu findLastChildrenMenu(Integer parentMenuId);

    /**
     * 查找当前的父类菜单
     * @param parentMenuId
     * @return
     */
    Menu findCurrentParentMenu(Integer parentMenuId);

    void addMenu(Menu menu);

    /**
     * 根据条件查询
     * @param queryString
     * @return
     */
    Page<Menu> findByCondition(String queryString);

    /**
     * 通过id查询
     * @param id
     * @return
     */
    Menu findById(int id);

    /**
     * 查找子菜单数量
     * @param id
     * @return
     */
    int findchildrenMenuCount(int id);

    /**
     * 查找角色是否有该菜单
     * @param id
     * @return
     */
    int findRoleMenuCount(int id);

    /**
     * 删除菜单
     * @param id
     */
    void deleteMenu(int id);

    /**
     * 查询所有
     * @return
     */
    List<Menu> findAll();

    /**
     * 编辑菜单
     * @param menu
     */
    void update(Menu menu);
}
